package com.fat.spzx.manager.mapper;

import com.fat.spzx.model.dto.system.SysRoleDto;
import com.fat.spzx.model.entity.system.SysRole;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.bind.annotation.DeleteMapping;

import java.util.List;

@Mapper
public interface SysRoleMapper {
    /**
     * 分页查询角色列表
     */
    List<SysRole> findByPage(SysRoleDto sysRoleDto);

    /**
     * 根据角色名称查询角色
     */
    @Select("select * from sys_role where role_name = #{roleName} and is_deleted = 0 order by create_time desc ")
    SysRole findByName(String roleName);

    /**
     * 添加角色
     */
    void addSysRole(SysRole sysRole);

    /**
     * 修改角色
     */
    void updateSysRole(SysRole sysRole);

    /**
     * 删除角色
     *  逻辑删除
     */
    void deleteSysRole(Integer id);

    /**
     * 查询所有角色
     */
    List<SysRole> findAllRoles();

}
